package com.happy3w.cmds.refactor.config;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.Map;

@Getter
@Setter
@Builder
@AllArgsConstructor
public class ChangePackageConfig {
    private Map<String, ModulePackageConfig> moduleConfigs;

    public static ChangePackageConfig from(ChangePackageConfigVo configVo) {
        return ChangePackageConfig.builder()
                .moduleConfigs(configVo.getModuleConfig().stream()
                        .map(ModulePackageConfig::from)
                        .collect(Collectors.toMap(ModulePackageConfig::getModule, Function.identity()))
                ).build();
    }

    public ModulePackageConfig getModuleConfig(String key) {
        return moduleConfigs.get(key);
    }
}
